-
Notifications
You must be signed in to change notification settings - Fork 16.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change "AHRS unhealthy" message to "no EKFn cores" if no cores exist #12651
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we are low on memory then EK2 and EK3 deliberately set enable to 0 when allocation fails
this would lead to a flood of msgs as it switches rapidly
I like that we are thinking of a fix for this because it's confusing to (advanced) users. Another alternative would be to add a pre-arm check and then spit out a text message as to what the problem is. |
5b47826
to
d301a2b
Compare
needs description on commits |
d301a2b
to
62b50b3
Compare
As a side note, I think the message might be easier to understand if it was "EKF2 not initialised". |
@rmackay9 Thanks, I chose "no cores" because that is the only information available by that point in the code (as far as I understand). I guess the original author thought "unhealthy" made it perfectly clear what was wrong :) To be more useful, the message should obviously tell the user how to fix the problem, but I don't think either "no cores" or "not initialized" does that; though the latter is IMO even more vague. But if the only reason the core pointer might be null is a lack of memory (or EKn_enable not set) then the message could change to indicate that. I assume it's not that simple, though. |
@kd0aij, ok great. I think we should probably update the wiki page so that we list all the possible failures and possible solutions. I'm going to go ahead and merge this now. thanks! |
OK, I'll look for relevant info in the wiki. |
@kd0aij, this is the pre-arm failure message so the new messages should go here I think: http://ardupilot.org/copter/docs/common-prearm-safety-checks.html#common-prearm-safety-checks |
If AHRS_EKF_TYPE=2/3 but the respective EK2/3_enable is 0, the prearm check reports
"AHRS unhealthy" without providing any clue to the cause of the problem.
This PR adds code which reports the issue .